Industrial robot accomplishes tasks through the movement of its end effector in Cartesian space, which cannot be controlled directly. It has to be realized by controlling the robot joints' motion. The position, velocity and acceleration of each joint determine the pose, velocity and acceleration as well as the trajectory of end effector at any time. Therefore, in order to perform Cartesian control of end-effector's pose, velocity and acceleration at each moment, the position, velocity and acceleration of each joint in every servo period have to be controlled, which is the purpose of trajectory generation.
The trajectory of robot end effector defines a set of discrete path points consisted of pose, velocity and acceleration at certain intervals in Cartesian space. As described above, all the path points of end effector in Cartesian space must be transformed into the corresponding path points of robot joints in Joint space. The transformation of pose and velocity of path points can be achieved by inverse kinematics and inverse Jacobian matrix, respectively. However it is unable to calculate the inverse Jacobian matrix sometimes when any two joint axes of a 6-dof (degree of freedom) robot come to one line. Those special configurations are called singular configurations. At singular configurations, robot's Jacobian matrix is singular, so joint velocity cannot be calculated out from Cartesian velocity by inverse Jacobian matrix. Moreover the joint acceleration calculation methods based on inverse Jacobian matrix also failed at singular configurations. That is to say, the velocity and acceleration in Joint space cannot be always worked out through the equivalence in Cartesian space directly.
The time intervals of discrete path points on motion trajectory in Joint space are often greatly larger than the servo period of joint driver (the typical motion servo period is 5 milliseconds). So the trajectory planning in Joint space should be performed by interpolating arrays of the transformed path points, forming a smooth trajectory in Joint space to satisfy the real time demand of the motor servo system. Different interpolation methods can be chosen, for example, trapezoidal speed curve interpolation method and various type spline curve interpolation methods. The PMAC (Programming Multi-Axis Controller) produced by American Delta Tau company provides two cubic-spline interpolation methods such as SPLINE1 and PVT.
Spline 1 method simply needs to know the displacement and time at all path points (the velocity at the start point and the end point are equal to zero), which does not need to settle problems of joint's velocity. However the control accuracy of the velocity on trajectory is worse. On the other hand, PVT method needs to know the position and velocity at all path points, the control accuracy of which is higher than Spline1 method, but it cannot deal with the situation when robot is at singular configurations. The US patent “Robot control utilizing cubic spline interpolation” (U.S. Pat. No. 4,663,726) puts forward to a look-ahead way to control robot utilizing cubic spline interpolation, which can deal with both the situations when path points have velocity or not.
However these curve interpolation methods mentioned above have not taken into account the acceleration of all path points. As for robot motion control, jerky motions and system vibrations tend to be caused by discontinuity and uncontrolled acceleration.